#include <iostream>
#include <cstring>
#include <cmath>
#include <unordered_set>
using namespace std;


bool check(int x)
{
    if(x<2)
        return false;
    for(int i=2;i<=sqrt(x);i++)
    {
        if(x%i==0)
            return false;
    }
    return true;
}
int main() {
    int a, b;
    cin >> a >> b;


    int ret = 0;

    if (b < 10) {
        cout << 0 << endl;
        return 0;
    }

    unordered_set<int> has;
    for (int i = a; i <= b; i++) {
        string n1 = to_string(i);
        bool flg=true;
        for (int k = 0; k < n1.size() && flg; k++) {
            for (int j = 0; j < n1.size() && flg; j++) {
                if (k == j)
                    continue;
                string t;
                if(n1[k]=='0' || n1[j]=='0')
                    continue;
            
                t.push_back(n1[k]);
                t.push_back(n1[j]);
                int num = stoi(t);
				if(has.count(i))
                    continue;
                if(check(num))
                {
                    has.insert(i);
                    flg=false;
                    ret++;
                }

            }
        }
    }
    cout<<ret;
    return 0;

}
